// pages/student/wode/wode.js
Page({
  data: {
    userInfo: null,
    stats: {
      normal: 0,
      late: 0,
      early: 0,
      absent: 0
    }
  },

  onLoad: function() {
    // 获取用户信息
    this.fetchUserInfo();
    // 获取考勤统计
    this.fetchAttendanceStats();
  },

  onShow: function() {
    // 页面显示时刷新用户信息和考勤统计
    this.fetchUserInfo();
    this.fetchAttendanceStats();
  },

  // 获取用户信息
  fetchUserInfo: function() {
    const app = getApp();
    if (app.globalData.userInfo) {
      this.setData({
        userInfo: app.globalData.userInfo
      });
      return;
    }

    wx.request({
      url: 'http://localhost:3000/api/student/profile',
      method: 'GET',
      header: {
        'Authorization': 'Bearer ' + wx.getStorageSync('token')
      },
      success: (res) => {
        if (res.statusCode === 200) {
          this.setData({
            userInfo: res.data
          });
          // 更新全局数据
          app.globalData.userInfo = res.data;
        }
      },
      fail: () => {
        // 使用模拟数据
        const mockUserInfo = {
          name: '张三',
          studentId: '2023001',
          className: '计算机科学1班',
          avatar: '/images/default_avatar.png',
          department: '计算机学院'
        };
        
        this.setData({
          userInfo: mockUserInfo
        });
        
        // 更新全局数据
        app.globalData.userInfo = mockUserInfo;
      }
    });
  },

  // 获取考勤统计
  fetchAttendanceStats: function() {
    const userInfo = wx.getStorageSync('userInfo') || {};
    const userId = userInfo.userId || userInfo.id;
    
    if (!userId) {
      console.error('缺少用户ID，无法获取考勤统计');
      return;
    }
    
    const app = getApp();
    wx.request({
      url: `${app.globalData.serverUrl}/api/attendance/stats`, // 修改为正确的路由
      method: 'GET',
      data: {
        userId: userId,
        role: 'student'  // 添加角色标识
      },
      header: {
        'Authorization': 'Bearer ' + wx.getStorageSync('token')
      },
      success: (res) => {
        if (res.statusCode === 200) {
          console.log('获取考勤统计成功:', res.data);
          this.setData({
            stats: {
              normal: res.data.normal || 0,
              late: res.data.late || 0,
              early: res.data.early || 0,
              absent: res.data.absent || 0
            }
          });
        } else {
          console.error('获取考勤统计失败:', res);
          wx.showToast({
            title: '获取统计失败',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        console.error('请求失败:', err);
        wx.showToast({
          title: '网络错误',
          icon: 'none'
        });
      }
    });
  },

  // 页面跳转
  navigateTo: function(e) {
    const url = e.currentTarget.dataset.url;
    console.log('跳转到:', url); // 添加日志便于调试
    
    // 检查页面是否存在
    if (url.includes('xiugaiziliao') || url.includes('shezhi')) {
      // 这两个页面可能需要特殊处理
      wx.navigateTo({
        url: url,
        fail: function(res) {
          console.error('跳转失败:', res);
          wx.showToast({
            title: '页面跳转失败',
            icon: 'none'
          });
        }
      });
    } else {
      // 其他页面正常跳转
      wx.navigateTo({
        url: url,
        fail: function(res) {
          console.error('跳转失败:', res);
          wx.showToast({
            title: '页面跳转失败',
            icon: 'none'
          });
        }
      });
    }
  },  // 添加逗号
  
  // 退出登录
  logout: function() {
    wx.showModal({
      title: '退出登录',
      content: '确定要退出登录吗？',
      success: (res) => {
        if (res.confirm) {
          // 清除本地存储的token和用户信息
          wx.removeStorageSync('token');
          const app = getApp();
          app.globalData.userInfo = null;
          app.globalData.role = null;
          
          // 跳转到登录页
          wx.reLaunch({
            url: '/pages/dengluye/dengluye'
          });
        }
      }
    });
  }
})